僵尸毁灭工程联机服务器搭建教程

您所在的位置:网站首页 project zombid地图 僵尸毁灭工程联机服务器搭建教程

僵尸毁灭工程联机服务器搭建教程

2024-06-06 12:33| 来源: 网络整理| 查看: 265

 最近在开黑僵毁的时候因为使用官方默认的联机方式网络总是会遇到问题,而且开服务器的人必须要一直在玩才行,非常的不方便,那么这种劣势当然可以自己搞一个服务器解决。不过在网上搜索一番,好像没有人把这个搭建僵毁的服务器说得非常明确的中文教程,就自己尝试了一番,也顺便把我目前搭建的方法搞一个教程。因为这是我第一次搭建给游戏使用的服务器,所以这里的方法非常的初级与稚嫩。

本篇教程最终搭建的服务器是一个靠端口映射实现的本地服务器教程,也就是你可以用你自己家里的服务器或者电脑(这里假设你本地没有公网IP开放端口的权限),让你非服务器本地的玩家一起开黑。

本篇文章的主要参考内容来自于官方Wiki:https://pzwiki.net/wiki/Multiplayer_FAQ 。

一、服务器配置要求

整个架构分成三个部分(名称以僵毁服务器为核心命名):服务器端、客户端、代理端。如果你有一台云服务器能够满足云服务器的最佳配置要求,那么我建议你不需要用代理,直接使用云服务器即可,本教程看一部分就行了。

1.1 服务器端

我测试的机器是一台我自己用的存储服务器,16核32G内存50M上行带宽,操作系统是Windows 10。运行僵毁服务器端程序时,实际游玩测试最多只会占用5.5G左右的内存,网络占用平均300-500Kbps。这是我们8个月只在河畔镇周围玩的内存占用,但是基本上全图我们也都操作过物品,杀过僵尸,流过血迹。所以,我估计服务器的要求最高是:可用内存在5.5G以上,CPU核心只要有就行,网络环境主要是稳定为主。不过我曾经测试过云服务器,4G内存机器上跑3G内存JVM会崩溃,只能在Windows机器上跑2G内存。如果你使用的操作系统是Linux的某个发行版,其实配置要求也差不多,不过我没有过多的测试。但是我非常建议你使用Windows作为操作系统,因为你遇到问题很容易询问别人得到解决方案,而且所有Linux的方法,我均未进行测试。

1.2 代理端

首先你要一台有公网IP的服务器,它可以性能不是很好,但一定要有公网IP,最好带宽高一点。一般情况下,是使用1核2G内存1M带宽的云服务器,如果你是学生可以很轻松的花十元左右的价格在国内你能想到的运营商那里买到,如果你不是学生,实际上你可以找一个学生买一个,或者原价购买。我测试使用的是2核4G内存1M带宽的云服务器。

1.3 客户端

这台机器就是每个玩家的机器,能玩僵毁就行,不过为了安全我还是要在客户端运行一个程序的,如果你觉得你可以接受在公网上暴露你本地的端口,那么可以忽略所有客户端的操作。

二、搭建僵毁服务器

这部分是通用教程,我参考了很多别人的文章,以及我个人使用的经验,不管你需要在云服务器还是你的本地服务器或者任何机器上搭建,都可以参考本篇教程。因为我是使用的服务器是Windows,如果你使用的是Linux发行版,那么一切操作都没有什么区别。另外,这里假设你使用的是Steam版的游戏,如果你使用的是其他平台分发的游戏,由于我并没有测试过,并不知道这种安装服务器端程序的方法是否依旧有效。

2.1 安装Steam

如果你服务器上有steam,那么登录你的账号,打开僵毁的本地文件,

找到ProjectZombiodServer.bat运行即可,后续的配置相同。

如果你没有安装Steam,那么安装SteamCMD,官方的安装教程可以参考这里:https://developer.valvesoftware.com/wiki/SteamCMD:zh-cn 。如果你懒得看,Windows的下载链接:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip ;Linux就自己看教程吧,简单说用包管理器install steamcmd就行了。

Windows里下载好之后,解压,在命令行里运行SteamCMD的安装包,并附带参数:steamcmd +login anonymous +app_update 380870 +quit,使用命令行最快捷的方法是Shift+鼠标右键,里面选择“在此处打开Powershell窗口”。如果你实在不会使用命令行,新建一个文本文件,把参数复制进去,后缀名改成.bat,双击运行。Linux使用的命令行相同。

这里可能会安装一段时间,我的体验是三分钟左右,如果你在某一步等待了很长时间,请看一看命令行里的提示,如果你看不懂一点英语就用翻译软件翻译一下,或者在官方教程里最后一章找到你的问题该如何解决,如果还不行,可以找一下别的SteamCMD安装教程。大概率可能的问题是下载文件的时候遇到网络问题,你可以开个加速器解决这个问题。

2.2 修改服务器配置文件并运行

服务器配置文件最好在僵毁游戏里设置好后再复制到服务器上。位置在:菜单-建立服务器-服务器设置中。

这里创建配置文件之后,你会在C盘中你的用户名下的Zomboid文件夹中的Server内找到三个文件,全部复制到服务器中的相同位置。(比如你当前用户名是xyz,那么对于中文版Windows应该是:C:\用户\xyz\Zomboid\Server)。复制好了就运行steamcmd\steamapps\common\Project Zomboid Dedicated Server里的StartServer64.bat。如果你的电脑不能够满足16G的运行要求,右键编辑这个文件,把里面的16g都替换成你认为可以的大小,如果你需要2.5G,可以尝试改成2560M。

实际上就算你的配置文件没有设置好,都是可以在服务器运行的时候改的(不过和网络相关的好像不能改)。

第一次运行之后,会有一个让你输入密码的环节(enter password),还需要再次确认(Confirm the password),这里输入的是游戏中管理员玩家的密码,不是进入服务器的密码。进入服务器的密码在配置文件中。设置好管理员密码之后,就会根据配置文件配置服务器,如果你在配置文件里设置了Mod,也会在这里安装。等到出现“*** SERVER STARTED****”时就可以使用服务器了。

使用服务器时,输入服务器密码即可,用户名和密码应该是等于创建新用户,也就是输入自己的角色即可。管理员账户名是admin,密码就是你设置的管理员密码。

如果你是在云服务器上运行的,那么看到这里已经够了,如果你想要考虑到安全因素做一些加固,那么可以继续看。

三、服务器操作指南

运行完服务器之后,你可以使用服务器做很多事情,这里大概介绍几种比较重要的操作。如果你非常着急,可以不用看这部分,但我强烈建议你看看。

3.1 保存数据

如果你直接将服务器程序关掉(就是这个运行服务器的命令行窗口或者Linux的SSH会话),是有可能丢失游戏存档数据的,因为联机的数据都保存在服务器上。所以,如果想要关闭服务器,要运行quit指令并等待服务器程序关闭,如果你想在运行过程中保存,请运行save。

3.2 更新Mod

如果你使用的Mod在创意工坊中升级了,只需要推出服务器程序后,重新打开就会更新Mod。

3.3 添加用户

如果你对服务器设置了很多额外的权限,导致玩家无法在服务器中创建角色,可以在命令行中输入adduser “用户名” “密码”添加新用户(需要有英文引号)。

3.4 更多指令信息

输入help自己看吧。这里是我这个版本的指令帮助内容。

3.5 修改服务器设置

我建议用管理员账户登录后,进行修改。用管理员登陆后,左上角会出现admin按钮,在里面操作你想要操作的。

 

不过我感觉这个Admin并不好用,可能未来的版本会更新吧。

四、云服务器安全设置

我很建议如果你用到了云服务器,要在安全规则中设置好只使用16261和8766端口的TCP和UDP权限,如果你还有Windows远程桌面的需要,就再加上端口3389(这个最好修改成10000以后的端口号,只要别和别的应用重复就行),如果还有SSH的需求,就加上22端口。这个设置,我就不写在教程里了,会导致教程太过于冗余,请自行在你的云服务器提供商处寻求帮助(其实你自己随便猜着做就能完成)。

五、端口映射

这个部分主要是当你想要在你本地运行服务器,但是和你开黑的人无法连接到你本地机器的局域网并且你本地还没有公网IP的诸多权限时使用。(也就是你在家或者宿舍的大部分场景)。其实你只要自己设置好端口映射就行了,你可以使用任何你可以用的方法,就映射好16261和8766端口就行了,但是要记住TCP和UDP都要映射。(这里应该有一个端口只要映射UDP就行,但是我嫌麻烦就都映射了)。

如果你想自己搭一个端口映射,那就把上述服务器端安装在你的本地服务器,然后服务端装在云服务器上就行,我这里使用的是frp,是按照官方的例子进行设置的:https://gofrp.org/docs/examples/stcp/ 。

为了避免你看教程完成很多重复的内容,我直接将我设置好的frp分享出来,各位自行使用即可。下载地址:https://github.com/JacketPants/PZ_FRP/tree/main/PZ_FRP 。备用地址:https://pan.baidu.com/s/1-6PZ8Na0U4SyKfYfKC32ow?pwd=2121 。

5.1 使用方法

下载好文件之后,先设置.ini文件,三个文件夹中的都要设置。其中的需要修改的设置都已经备注了,可以只修改公网IP,把你的公网IP填进去即可,三个都要填进去。如果你想增强安全性,请求改[common]中的端口和token,三个配置文件修改的内容要一致。server和client中配置文件里的sk也要修改,每个项目对应的sk一致即可,不需要同一文件中的四个sk相同。(这里建议token和sk都要略微长一些,比如至少32位随机字符串)。

设置好配置文件之后,在服务器端运行server里的run.bat,在客户端(就是每个要玩游戏的玩家端)运行client中的run.bat,在代理端运行proxy中的run.bat。如果运行之后,没有出现错误(看一下命令行里的英文,如果你完全看不懂英文请使用翻译软件),保持运行即可。

在僵毁中加入服务器,服务器IP设置成127.0.0.1,其他设置如常。

六、常见问题6.1 建立连接失败

一般情况下,在加入服务器时的速度应该非常快,如果在连接阶段长时间加载,可能时服务器的问题(这个问题经常遇到),重新连接一次即可解决。

6.2 在加载地图时黑屏

这个是因为网络原因,原因多样,目前最稳妥的解决办法是使用加速器针对校园网加速的模式对僵毁进行加速,基本可以解决绝大多数这种黑屏情况。如果还不行,建议更换一下网络(如手机的移动网络开热点)。如果还未解决,建议重启电脑尝试。如果还不行,我也不知道解决方案,但肯定是网络原因。

6.3 运行端口映射程序失败

大概率是因为端口被占用。重启电脑即可。说起原因,可能因为此电脑之前在僵毁中建立过服务器,导致端口被之前的服务器程序占用。

6.4 游戏中瞬移和卡顿

应该是服务器中的数据未能及时同步,也就是因为数据都在服务器上,如果数据未能及时同步到每个客户端中,就会出现在不同客户端之间数据呈现不同的情况,进而出现后续客户端中的操作表现不同,最终导致大规模的数据不同步现象,出现大量异常。

目前暂时未确定该问题出现的原因,但是我认为和网络带宽瓶颈的关系不大,我也未找到具体的解决方案,但肯定还是和网络有关系,只是这个到底是带宽还是服务端程序没写好我不确定。大概可能的思路如下:游戏或者服务器端自身bug、重启服务器端程序和每个玩家的僵毁、删除frp中server的配置文件里的“use_compression = true”(共四个)、增加云服务器带宽。

七、参考文章

https://www.bilibili.com/read/cv14427208 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3